home *** CD-ROM | disk | FTP | other *** search
- function fnInit()
- {
- var k = 1;
- while(k <= 8)
- {
- eval("Row" + k + "_mc")._visible = 0;
- k++;
- }
- }
- function fnStartGame(difficulty)
- {
- rowMover = "";
- shotmover = "";
- gShooting = false;
- gScore = 0;
- gTotalRows = 0;
- gDifficulty = gSpeed[difficulty];
- gPointInc = gPopScore[difficulty];
- var k = 1;
- while(k <= 8)
- {
- eval("Row" + k + "_mc")._visible = 0;
- k++;
- }
- var k = 0;
- while(k < gStartRows)
- {
- fnInitRow();
- k++;
- }
- fnLoadGun();
- pointer1_mc.onEnterFrame = rotateTowardsMouse;
- fnStartMouseList();
- rowMover = setInterval(fnInitRow,gDifficulty);
- dropChecker = setInterval(fnCheckDrop,300);
- }
- function fnStartMouseList()
- {
- mouseListener = new Object();
- mouseListener.onMouseUp = fnShoot;
- Mouse.addListener(mouseListener);
- }
- function fnStopMouseList()
- {
- Mouse.removeListener(mouseListener);
- }
- function fnYouLost()
- {
- fnStopMouseList();
- clearInterval(rowMover);
- clearInterval(shotMover);
- clearInterval(dropChecker);
- WinLose_mc.gotoAndStop("Lose");
- }
- function fnScore()
- {
- gScore += Number(gPointInc);
- }
- function fnInitRow()
- {
- var startRows = gTotalRows;
- gTotalRows++;
- if(gTotalRows == 8)
- {
- rowEmpty = fnCheckBottomRow();
- if(rowEmpty)
- {
- gTotalRows = 7;
- }
- else
- {
- fnYouLost();
- }
- }
- if(startRows != gTotalRows)
- {
- eval("Row" + gTotalRows + "_mc")._visible = 1;
- }
- var z = gTotalRows;
- while(z > 0)
- {
- if(z == 1)
- {
- fnNewRow();
- }
- else
- {
- fnSlideRow(z);
- }
- z--;
- }
- }
- function fnCheckBottomRow()
- {
- var rowVal = true;
- var i = 1;
- while(i <= gObjInRow)
- {
- var currentObj = eval("Row7_mc.Obj" + i + "_mc")._currentframe;
- if(CurrentObj <= gTotalObjects)
- {
- rowVal = false;
- break;
- }
- i++;
- }
- return rowVal;
- }
- function fnNewRow()
- {
- Audio_mc.gotoAndPlay("NewRow");
- var i = 1;
- while(i <= gObjInRow)
- {
- var rndnum = Number(1 + Math.floor(Math.random() * gTotalObjects));
- eval("Row1_mc.Obj" + i + "_mc").gotoAndStop(rndnum);
- i++;
- }
- }
- function fnSlideRow(thisRow)
- {
- var prevRow = Number(thisRow) - 1;
- var i = 1;
- while(i <= gObjInRow)
- {
- var objIndex = eval("Row" + prevRow + "_mc.Obj" + i + "_mc")._currentframe;
- if(objIndex > gBonusFrame && objIndex != gParkFrame)
- {
- eval("Row" + thisRow + "_mc.Obj" + i + "_mc").gotoAndPlay(objIndex);
- }
- else
- {
- eval("Row" + thisRow + "_mc.Obj" + i + "_mc").gotoAndStop(objIndex);
- }
- i++;
- }
- }
- function fnHitFirstObj(row, object, state)
- {
- clearInterval(shotMover);
- Shot_mc._visible = 0;
- var targettedState = eval("Row" + row + "_mc.Obj" + object + "_mc")._currentframe;
- if(state == targettedState or targettedState == gBonusFrame)
- {
- fnHitObj(row,object,targettedState);
- }
- else
- {
- bh = new Sound(Sounds);
- bh.attachSound("BadHit");
- bh.start();
- if(eval("Row" + (Number(row) + 1) + "_mc")._visible == 1 && eval("Row" + (Number(row) + 1) + "_mc.Obj" + object + "_mc")._currentframe < 6)
- {
- if(xoffset < 0)
- {
- if(eval("Row" + row + "_mc.Obj" + Number(object) + 1 + "_mc")._currentframe < 6)
- {
- eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) + 1) + "_mc").gotoAndStop(Number(state));
- }
- else
- {
- eval("Row" + Number(row) + "_mc.Obj" + (Number(object) + 1) + "_mc").gotoAndStop(Number(state));
- }
- }
- else if(eval("Row" + row + "_mc.Obj" + Number(object) - 1 + "_mc")._currentframe < 6)
- {
- eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) - 1) + "_mc").gotoAndStop(Number(state));
- }
- else
- {
- eval("Row" + Number(row) + "_mc.Obj" + (Number(object) - 1) + "_mc").gotoAndStop(Number(state));
- }
- }
- else
- {
- if(Number(row) + 1 > gTotalRows)
- {
- var newrow = true;
- gTotalRows++;
- if(gTotalRows > 7)
- {
- fnYouLost();
- }
- }
- if(newrow)
- {
- eval("Row" + gTotalRows + "_mc")._visible = 1;
- var i = 1;
- while(i <= gObjInRow)
- {
- eval("Row" + gTotalRows + "_mc.Obj" + i + "_mc").gotoAndStop(gParkFrame);
- i++;
- }
- }
- eval("Row" + (Number(row) + 1) + "_mc.Obj" + object + "_mc").gotoAndStop(Number(state));
- }
- }
- fnLoadGun();
- }
- function fnHitObj(row, object, state)
- {
- fnScore();
- eval("Row" + row + "_mc.Obj" + object + "_mc").gotoAndPlay("hit");
- if(row != 1)
- {
- if(eval("Row" + (row - 1) + "_mc.Obj" + object + "_mc")._currentframe == state)
- {
- fnHitObj(row - 1,object,state);
- }
- if(object < gObjInRow)
- {
- if(eval("Row" + (row - 1) + "_mc.Obj" + (Number(object) - 1) + "_mc")._currentframe == state)
- {
- fnHitObj(row - 1,object - 1,state);
- }
- }
- if(object > 1)
- {
- if(eval("Row" + (row - 1) + "_mc.Obj" + (Number(object) + 1) + "_mc")._currentframe == state)
- {
- fnHitObj(row - 1,Number(object) + 1,state);
- }
- }
- }
- if(object > 1)
- {
- if(eval("Row" + row + "_mc.Obj" + (Number(object) - 1) + "_mc")._currentframe == state)
- {
- fnHitObj(row,object - 1,state);
- }
- }
- if(object < gObjInRow)
- {
- if(eval("Row" + row + "_mc.Obj" + (Number(object) + 1) + "_mc")._currentframe == state)
- {
- fnHitObj(row,Number(object) + 1,state);
- }
- }
- if(row != gTotalRows)
- {
- if(eval("Row" + (Number(row) + 1) + "_mc.Obj" + object + "_mc")._currentframe == state)
- {
- fnHitObj(Number(row) + 1,object,state);
- }
- if(object > 1)
- {
- if(eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) - 1) + "_mc")._currentframe == state)
- {
- fnHitObj(Number(row) + 1,Number(object) - 1,state);
- }
- }
- if(object < gObjInRow)
- {
- if(eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) + 1) + "_mc")._currentframe == state)
- {
- fnHitObj(Number(row) + 1,Number(object) + 1,state);
- }
- }
- }
- }
- function fnZapRow(row, obj)
- {
- var i = 1;
- while(i <= gObjInRow)
- {
- if(eval("Row" + row + "_mc.Obj" + i + "_mc")._currentframe <= gBonusFrame)
- {
- eval("Row" + row + "_mc.Obj" + i + "_mc").gotoAndStop(gParkFrame);
- fnScore();
- }
- i++;
- }
- }
- function fnCheckDrop()
- {
- var rw = 2;
- while(rw <= _root.gTotalRows)
- {
- var obj = 1;
- while(obj <= gObjInRow)
- {
- if(eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) - 1) + "_mc")._currentframe > gAnimStartFrame or eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) - 1) + "_mc")._currentframe == undefined)
- {
- if(eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) + 1) + "_mc")._currentframe > gAnimStartFrame or eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) + 1) + "_mc")._currentframe == undefined)
- {
- if(eval("Row" + (rw - 1) + "_mc.Obj" + Number(obj) + "_mc")._currentframe > gAnimStartFrame and eval("Row" + rw + "_mc.Obj" + Number(obj) + "_mc")._currentframe <= gBonusFrame)
- {
- fnDropObj(rw,obj);
- }
- }
- }
- obj++;
- }
- rw++;
- }
- }
- function fnDropObj(rw, obj)
- {
- gDropindx++;
- duplicateMovieClip("Drop_mc","Dropper" + gDropindx,16384 + gDropindx);
- eval("Dropper" + gDropindx).head = eval("Row" + rw + "_mc.Obj" + Number(obj) + "_mc")._currentframe;
- eval("Row" + rw + "_mc.Obj" + Number(obj) + "_mc").gotoAndStop(gParkFrame);
- eval("Dropper" + gDropindx)._y = 105 + 45 * (rw - 1);
- eval("Dropper" + gDropindx)._x = 35 + 50 * (obj - 1);
- }
- function fnLoadGun()
- {
- var _loc1_ = Number(1 + Math.floor(Math.random() * gTotalObjects));
- Shot_mc.gotoAndStop(_loc1_);
- Shot_mc._x = gBaseX;
- Shot_mc._y = gBaseY;
- Shot_mc._visible = 1;
- }
- function fnShoot()
- {
- trace(BonusPlaying);
- if(BonusPlaying != true)
- {
- s = new Sound(Sounds);
- s.attachSound("Shoot");
- s.start();
- if(gShooting != true)
- {
- gShooting = true;
- var _loc1_ = _root.pointer1_mc._rotation;
- if(_loc1_ < -87 && _loc1_ > -93)
- {
- yoffset = -10;
- xoffset = 0;
- }
- else if(_loc1_ < -90)
- {
- _loc1_ = - (180 + _loc1_);
- yoffset = _loc1_ / 10;
- xoffset = - (10 + yoffset);
- }
- else
- {
- yoffset = _loc1_ / 10;
- xoffset = 10 + yoffset;
- }
- yoffset *= gBallMov;
- xoffset *= gBallMov;
- shotMover = setInterval(fnMoveBall,gBallSpeed);
- }
- }
- }
- function fnMoveBall()
- {
- var newX = Shot_mc._x + xoffset;
- var newY = Shot_mc._y + yoffset;
- if(newX < 10 || newX > 570 || newY < 60)
- {
- clearInterval(shotMover);
- gShooting = false;
- fnLoadGun();
- }
- else
- {
- Shot_mc._x = newX;
- Shot_mc._y = newY;
- }
- var rw = gTotalRows;
- while(rw >= 1)
- {
- var obj = 1;
- while(obj <= gObjInRow)
- {
- if(eval("_root.Row" + rw + "_mc.Obj" + obj + "_mc").hitTest("_root.Shot_mc"))
- {
- gShooting = false;
- var tempstate = _root.Shot_mc._currentframe;
- fnHitFirstObj(rw,obj,tempstate);
- clearInterval(shotMover);
- obj = 100;
- }
- obj++;
- }
- rw--;
- }
- }
- gStartRows = 1;
- gTotalRows = 0;
- gTotalObjects = 5;
- gObjInRow = 12;
- gDifficulty;
- gScore = 0;
- gBaseX = 295;
- gBaseY = 425;
- gBallMov = 2;
- gBallSpeed = 15;
- gShooting = false;
- gSpeed = [12000,9000,6000];
- gPopScore = [1,2,3];
- gBonusRatio = 9;
- gDropindx = 1;
- gBonusFrame = 7;
- gAnimStartFrame = 20;
- gParkFrame = 27;
- fnInit();
- _global.radiansToDegrees = function(radians)
- {
- return radians / 3.141592653589793 * 180;
- };
- MovieClip.prototype.rotateTowardsMouse = function()
- {
- var _loc2_ = this;
- var _loc1_ = {x:_loc2_._x,y:_loc2_._y};
- _loc2_._parent.localToGlobal(_loc1_);
- var deltaX = _root._xmouse - _loc1_.x;
- var deltaY = _root._ymouse - _loc1_.y;
- var _loc3_ = Math.atan2(deltaY,deltaX);
- var rotationAngle = radiansToDegrees(_loc3_);
- _loc2_._rotation = rotationAngle;
- };
-